﻿#define  _CRT_SECURE_NO_WARNINGS
//给你一个正整数数组 nums ，请你返回一个数组 answer ，你需要将 nums 中每个整数进行数位分割后，按照 nums 中出现的 相同顺序 放入答案数组中。
//
//对一个整数进行数位分割，指的是将整数各个数位按原本出现的顺序排列成数组。
//
//来源：力扣（LeetCode）
//链接：https ://leetcode.cn/problems/separate-the-digits-in-an-array
//著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
int* separateDigits(int* nums, int numsSize, int* returnSize) {
    int cur[numsSize];
    int count = 0;
    int i = 0;
    for (i = 0;i < numsSize;i++) {
        cur[i] = nums[i];
        while (nums[i]) {
            nums[i] /= 10;
            count++;
        }
    }
    int* arr = (int*)malloc(sizeof(int) * count);
    int j = 0;
    for (i = 0;i < numsSize;i++) {
        int h = 10;
        int q = 1;
        while (cur[i] / h) {
            h *= 10;
            q++;
        }
        int t = q;
        while (cur[i]) {
            q--;
            arr[j + q] = cur[i] % 10;
            cur[i] /= 10;
        }
        j += t;

    }

    *returnSize = count;
    return arr;


}